NetFind/Mac  v0.8 
a utility to find email addresses

First, a warning: this is my first Macintosh program, so things may not be perfect. It seems to do pretty well on my computer, but it's not guaranteed for anything. Please use it at your own risk.

What does it do?
NetFind is a program that searches for people's e-mail addresses based on specific pieces of information, called keys. Unfortunately, NetFind is a UNIX program that can only be run on SUN computers. NetFind/Mac is my attempt at a front-end interface for it for Macintosh computers running MacTCP and connected to the Internet. 

Why did I write it?
What a silly question! Because I thought it would be useful for people around the world to have. Not only that, but I needed a topic for my final honor's study. Soon, if this works, I'll graduate from Connecticut College with a degree in Problem Solving: Human and Technological approaches. [Connecticut College: A small liberal arts school in New London, CT, not to be confused with the University of Connecticut.] 

I also decided that NetFind was a cool tool that relatively few people know about. Unfortunately, its not too easy to use (try it... telnet to one of the sites in the pop-up menu and log in as 'netfind'). I've been asked way too many times, as a computer lab consultant,  how to find friends' email addresses. I knew how to use the tool, but I couldn't easily send these people off to do it.... they'd never remember the NetFind address, how to make the program work, etc. So, I put together this program.

How does it work?
NetFind servers keep a database of host computers names and descriptions. The descriptions include pieces of information such as the school name, the city and state, and the department. For example, the descriptions in the database for Apple Computer are:

apple.com apple computer, inc
apple.fi apple computer finland, inc
applelink.apple.com apple computer, kista, sweden
apple.oz.au apple computer australia pty limited
atg.apple.com advanced technology group, apple computer, inc, cupertino, california
austin.apple.com apple computer, inc, austin, texas
aux.apple.com apple computer, inc
cambridge.apple.com apple computer, inc, cambridge, massachusetts
corp.apple.com corporate headquarters, apple computer, inc, cupertino, california
e-world.com applie online services, apple computer, inc, cupertino, california
europe.apple.com apple computer, inc
hed.apple.com apple computer, inc
info.apple.com apple computer, inc
k12demo.com apple computer inc, englewood, colorado
kip.apple.com apple computer, inc
lansys.apple.com server platforms, kernel porting group, apple computer, inc
online.apple.com apple computer, inc
support.apple.com customer support, apple computer, inc
woz.com apple computer, inc, los gatos, california

When you perform a search for someone's email address, you supply some of this information to narrow the search to several domains. After the list of domains is found, NetFind begins to query these domains using the SMTP and Finger protocols. The most common way of querying is by supplying a last name, which often works on some UNIX machines to supply an email address. For example, you can see my login information by fingering bernstein@conncoll.edu. Finger will respond, showing my login name as jdber and my real name as Jason D. Bernstein. 

NetFind/Mac connects to a NetFind server and does the querying for you. You need to supply the information about the person you are searching for, and NetFind/Mac will contact the NetFind server and begin the search. As NetFind locates e-mail addresses, NetFind/Mac will list them in a scrolling list box. It will list all email addresses that it finds. If NetFind can associate a name to the address it finds, it will show it. If it can't, it will simply name it "Unknown Address".

How do I get a search to work?
Fill in the Search criteria. This is how NetFind/Mac interprets the data: 
Last Name:
This is what NetFind uses to find a particular person. This must be filled in, and must only be one word long.
First Name:
Absolutely nothing. I don't use it, but it will be used in a future version.
School: 

Whatever is typed in this field must appear exactly in the search keys. If you are at all uncertain as to what the name of the school is, or how it is referred, be more broad in here. That is, instead of typing UMCP, you may wish to type College Park. (UMCP is University of Maryland at College Park). Abbreviations generally are not used. The way I use this field is to eliminate from the search locations those that do not apply. That is, if I search for Connecticut College, the list of domains includes domains at Connecticut College and Trinity College (which is also located in Connecticut, thus the match). Since the string 'Connecticut College' does not appear in Trinity College's database entry, it will not be searched.
City:
The city that the email address would be located at.
State:
The state that the email address would be located at.
The radio buttons:
If you know what domain the address is, you can press one of these buttons, or fill in your own. Here's a key:
EDU = American education (generally)
GOV = US Government
COM = Corporation
ORG = Non-profit organization
NET = Ya know, I don't know exactly who fits into this category.
You may know others, such as foreign country codes (au=Australia, ca=Canada, etc.) This can go in the OTHER text box.

Why doesn't it find my friend at _____?
That's not my fault (I hope). Some sites simply don't provide the services needed by NetFind to find addresses very easily. For example, some don't support finger. Some only finger based on a username (which you don't know), whereas NetFind requires the finger to respond to a last name finger. Anyway, if it doesn't locate anyone, it's because NetFind didn't find them, not because NetFind/Mac didn't. I only report what the server says. The Netfind servers reduce the load on the internet by reducing the number of queries placed. In doing so, the program may skip the computer that can lead the program to an email address. 

NetFind CANNOT find email addresses for the on-line services: Compuserve, America On-Line, e-World, AppleLink, etc. If I figure out a way to get these addresses, sure, I'll put it in... until then, sorry. 

The documents accompanying the actual NetFind server software indicate that NetFind is able to find only a small portion of the internet community. I can't make NetFind do what it wasn't programmed to do.

When (well, mostly if) I produce a next version, I would like to implement the entire NetFind algorythm on the Mac, without resorting to telnetting out to a server. Perhaps then I will be able to find a larger number of addresses.

Why does it sometimes run slowly?
As I said, the NetFind servers take measures to reduce the load on the internet. Normally, NetFind limits searches to 3 domains at a time. Often more than 3 domains are found by your query. NetFind/Mac performs a query for all domains found by the original search. So, if NetFind identifies 60 domains for the school you are searching, NetFind/Mac will perform 20 sets of queries (60 queries / 3 domains per search). I do this to give you the greatest chance of finding an email address, with the least amount of user intervention. You can of course stop the searching by closing the NetFind window.

And what does it cost?
NOTHING!!! As I said, this is my first large-scale (this is huge, isn't it?) programming project. It's also for a grade. All I ask from you are comments as to how well it works. You will see, under the File menu, an item called Evaluate... . Choosing this item will bring up a short questionnaire. The response will be e-mailed to me, so no paperwork is needed, nor much of a time commitment on your part. So, after a few searches, just fill out the questionnaire and send it. That's all! Chances are, if I continue to work on this, I'll add some sort of registration process and fee. After all, I'll have to pay for food and everything after I graduate! For now, though, take it for free.

And what if my machine blows up while running this?
Sorry about that... I'm a beginner here, I take no responsibility. Any damage to your computer is your responsibility. If there is a conflict that you see, please let me know, and I'll try to fix it. But other than that... don't look at me!

What's gonna happen in the future?
Well, I've been thinking about that too. If this program generates a lot of usage, which I expect it might (an easy way of finding e-mail addresses is hard to come by), I will continue to update the program. But, I am a graduating senior from Connecticut College, and I won't have a direct connection to the internet in just a few months (but I'll try to get my hands on a high-speed modem and get a nice fast SLIP if I can). So, I might have to stop here. But, let's assume that I do more work. What will I work on?
• Rewrite the thing in proper Mac form (I missed a few lessons in proper Mac programming).
• Allow multiple concurrent searches.
• Implement the search algorithm on the Mac rather than remotely logging in to a NetFind server.
• Allow copying of email addresses into the clipboard.
• Keep a collection of found addresses (Address Book).
• Provide a simple e-mail editor to send messages to people you found using the program.
• Provide Balloon Help.
• Allow manual specification of domains to perform subsearches on. Waiting for 80 domains really stinks, doesn't it?
• Proofread this manual, and perhaps have it follow some train of thought.

And thanks go to:
Ann Sloan Devlin, Professor of Psychology, Connecticut College
Bridget Baird, Professor of Mathematics and Computer Science, Connecticut College
Peter N Lewis, Supplied lots of code and help.
Kimberly Doughty
Eric C. Nevin for the great icon.
The rest of my friends
Academic Computing at Connecticut College
All of you who checked out the Beta version. Lots of cool comments!